Nowadays, internet based messaging applications like Whatsapp™ have become very popular in the consumer space. In most traditional implementations of messaging applications, end-users use their electronic devices like smart phones or laptops for communicating with other users in their social network, whereas a server for managing the messaging applications is built over a cloud-based messaging server. Such cloud-based messaging servers manage most components of the messaging applications. The cloud-based messaging server provides the following benefits over the conventional communication channels:    A developer of the messaging application can easily maintain and upgrade the messaging application at any point in time.    New features of the messaging application are available as soon as the messaging application is upgraded.    There is no need to build a new setup for a new customer. The new customer can sign up to the cloud based platform and deploy any online application instantly.    The cloud-based messaging server enables SaaS (software as a service) model for reducing development and maintenance cost of any messaging application.
However, there are some circumstances under which enterprises are not comfortable with hosting their data over the cloud-based messaging server, due to security reasons. These organizations prefer to keep their data within their organization over an on-premise data server. Such organizations include industries (e.g. healthcare, financial services) which are bound with regulatory requirements to keep data within the organization, and some customers (e.g. security agencies, government agencies) dealing with highly confidential information.
One of the approaches followed in the industries for data confidentiality in these industries is using end-to-end encryption. However, current encryption techniques are often not secure enough as the number of customers increase. Another way to meet such data security requirements is to have a messaging application that is completely hosted in an on-premise server. However, though this approach keeps the data secure, there are major cost implications of this approach which includes the developer cost of maintaining and upgrading the on-premise messaging applications. In some instances, new feature releases can take longer time for getting introduced into the on-premise data server. Further, the setup time of on-premise data server is much higher than the cloud based messaging server.
The key constraint is that enterprise insists on keeping the data on the on-premise data server, while the software vendors prefer to keep the software on the cloud based messaging server.